// 《围棋》作者版权所有。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// 该文件定义了附加到各种函数
// 和数据对象的标志。编译器、汇编器和链接器必须
// 都同意这些值。

package obj

const (
	// 不要分析标记的例程。
	// 
	// 已弃用：未实现，请勿使用。
	NOPROF = 1

	// 链接器可以获得这些符号中的多个。它将
	// 选择一个副本来使用。
	DUPOK = 2

	// 不要插入堆栈检查前导。
	NOSPLIT = 4

	// 将此数据放入只读部分。
	RODATA = 8

	// 此数据不包含指针。
	NOPTR = 16

	// 这是一个包装函数，不应算作
	// 默认情况下禁用“恢复”或出现在回溯中。
	WRAPPER = 32

	// 此函数使用其传入的上下文寄存器。
	NEEDCTXT = 64

	// 当传递给objw时。全局，使其创建的LSym上的Local设置为true。
	LOCAL = 128

	// 分配一个线程本地存储字，并将从
	// 线程本地基到线程本地存储的偏移量存储在此变量中。
	TLSBSS = 256

	// 不要插入为该函数分配堆栈帧的指令。
	// 仅对声明帧大小为0的函数有效。
	// TODO（mwhudson）：目前仅针对ppc64x实施。
	NOFRAME = 512

	// 函数可以调用reflect。类型方法或反映。类型MethodByName。
	REFLECTMETHOD = 1024

	// 函数是调用堆栈的最外层框架。调用堆栈展开器
	// 应在此函数处停止。
	TOPFRAME = 2048

	// 函数是ABI包装器。
	ABIWRAPPER = 4096
)
